package com.ace.model.bo;

/***********************************************************************
 * Module:  CaisseMutualise.java
 * Author:  a.kanwar
 * Purpose: Defines the Class CaisseMutualise
 ***********************************************************************/

import java.util.*;

public class CaisseMutualise {

    /************************************************************************
    * Attribute
    ***********************************************************************/
    
    private int idCm;
    private float montant;
    private java.util.Collection<Paiement> paiement;


    /**********************************************************************
     * 
     * Constructor
     ***********************************************************************/
    
    public CaisseMutualise(int idCm, float montant, Collection<Paiement> paiement) {
        this.idCm = idCm;
        this.montant = montant;
        this.paiement = paiement;
    }

    public CaisseMutualise(float montant, Collection<Paiement> paiement) {
        this.montant = montant;
        this.paiement = paiement;
    }

    
    /***********************************************************************
     * getter and setter 
     **********************************************************************/
    
    public int getIdCm() {
        return idCm;
    }

    public void setIdCm(int idCm) {
        this.idCm = idCm;
    }

    public float getMontant() {
        return montant;
    }

    public void setMontant(float montant) {
        this.montant = montant;
    }

    @Override
    public String toString() {
        return "CaisseMutualise{" + "idCm=" + idCm + ", montant=" + montant + ", paiement=" + paiement + '}';
    }
   
   
    





/***********************************************************************
 * generate code by power AMC
 ************************************************************************/


   /** @pdGenerated default getter */
   public java.util.Collection<Paiement> getPaiement() {
      if (paiement == null)
         paiement = new java.util.HashSet<Paiement>();
      return paiement;
   }
   
   /** @pdGenerated default iterator getter */
   public java.util.Iterator getIteratorPaiement() {
      if (paiement == null)
         paiement = new java.util.HashSet<Paiement>();
      return paiement.iterator();
   }
   
   /** @pdGenerated default setter
     * @param newPaiement */
   public void setPaiement(java.util.Collection<Paiement> newPaiement) {
      removeAllPaiement();
      for (java.util.Iterator iter = newPaiement.iterator(); iter.hasNext();)
         addPaiement((Paiement)iter.next());
   }
   
   /** @pdGenerated default add
     * @param newPaiement */
   public void addPaiement(Paiement newPaiement) {
      if (newPaiement == null)
         return;
      if (this.paiement == null)
         this.paiement = new java.util.HashSet<Paiement>();
      if (!this.paiement.contains(newPaiement))
      {
         this.paiement.add(newPaiement);
         newPaiement.setCaisseMutualise(this);      
      }
   }
   
   /** @pdGenerated default remove
     * @param oldPaiement */
   public void removePaiement(Paiement oldPaiement) {
      if (oldPaiement == null)
         return;
      if (this.paiement != null)
         if (this.paiement.contains(oldPaiement))
         {
            this.paiement.remove(oldPaiement);
            oldPaiement.setCaisseMutualise((CaisseMutualise)null);
         }
   }
   
   /** @pdGenerated default removeAll */
   public void removeAllPaiement() {
      if (paiement != null)
      {
         Paiement oldPaiement;
         for (java.util.Iterator iter = getIteratorPaiement(); iter.hasNext();)
         {
            oldPaiement = (Paiement)iter.next();
            iter.remove();
            oldPaiement.setCaisseMutualise((CaisseMutualise)null);
         }
      }
   }

}